<?php
/**
 * @license   GPLv3 Open Source
 */
	defined ('IN_AGORA') or die;

	class JoopquestionsModel extends Model
	{
		function __construct()
		{
			parent::__construct('joopquest');
		}
		
		
		
		function get_kits($key = '', $per_page = null, $page = null)
		{
			if (is_null($per_page) || is_null($page)) {
				$limit = '';
			} else {
				$limit = Model::getLimit($per_page, $page);
			}

			$this->db->setQuery('SELECT k.id, k.group_name, q.subject FROM ##__joopquest_kit as k '.
			'INNER JOIN  ##__joopquest as q ON k.quest_id = q.id ORDER BY k.group_name'. $limit);
			return $this->db->loadAssocList($key);
		}
		
		function save_new_kit($quest_id = '0', $kit_name = '') {
			if ($quset_id != '0' AND $kit_name != '') {
				$this->db->bind('kit_name',$kit_name,'string');
				$this->db->bind('quest_id',$quest_id,'integer');

				$this->db->setQuery('INSERT INTO ##__joopquest_kit (group_name, quest_id) VALUES ( :kit_name, :quest_id)');
				$this->db->query();
			}

		}
		
		function kit_exists($value, $value2 = 0)
	    {
	    	if ($value2 > 0){
	    		//проверяем наличие пары имя группы-айди вопроса
	    		$sql = 'SELECT COUNT(*) FROM ##__joopquest_kit WHERE group_name = '.$this->db->Quote($value).' AND quest_id = '.$this->db->Quote($value2).' LIMIT 1';
	    		
	    	}
	    	else {
	    		//проверяем просто наличие имени группы
	    		$sql='SELECT COUNT(*) FROM ##__joopquest_kit WHERE group_name = '.$this->db->Quote($value).' LIMIT 1';
	    	}
	    	$this->db->setQuery($sql);
	    	return $this->db->loadResult() > 0 ? true : false ;
	    }
	    
	    function delete_kit($id, $qid=0)
	    {
	    	$this->db->bind('id',$id,'integer', true);
	    	$this->db->bind('qid',$qid,'integer', true);	    	

	    	$this->db->setQuery('DELETE FROM ##__joopquest_kit WHERE id  = :id OR quest_id = :qid'); //удаляем все записи о группах, где был удаленный вопрос или удаляем конкретную запись о группе
	    	$this->db->query();
	      
	    }
	    
	    function clearforums() {
	    	$this->db->setQuery("UPDATE ##__forums SET quest_group = ''  WHERE quest_group NOT IN (SELECT group_name FROM ##__joopquest_kit)"); //удаляем привязку со всех форумов, у которых теперь нет группы
	    	$this->db->query();
	    }
	    
		function loadAllCountKit()
		{
			$this->db->setQuery('SELECT COUNT(*) FROM ##__joopquest_kit ');
			return $this->db->loadResult();
		}
		
		function get_kit_names(){
			$this->db->setQuery('SELECT group_name FROM ##__joopquest_kit GROUP BY group_name');
			return $this->db->loadResultArray();
		}
		
	}
?>
